using System.Collections;
using System.Collections.Generic;
using UnityEngine;


/// <summary>
/// 武器数据类
/// </summary>
public class DataConfig 
{

   

    #region 角色属性
    /// <summary>
    /// 角色移动速度
    /// </summary>
    public const float PlayerMoveSpeed = 1.5f;

    /// <summary>
    /// 角色生命值
    /// </summary>
    public const int PlayerHp = 3;

    /// <summary>
    /// 角色初始等级
    /// </summary>
    public const int PlayerLevel = 1;

    /// <summary>
    /// 是否开启超级移动
    /// </summary>
    public const bool PlayerSuperMove = false;


    
    #endregion 

    #region 手枪属性
    /// <summary>
    /// 手枪子弹容量
    /// </summary>
    public const int PistoGunBulletCount = 6;
    /// <summary>
    /// 手枪弹伤害
    /// </summary>
    public const float PistoDamage = 8;
    /// <summary>
    /// 手枪弹飞行速度
    /// </summary>
    public const float PistoBulletMoveSpeed = 15f;
    /// <summary>
    /// 可以发射的子弹数量
    /// </summary>
    public const int PistoGunCanFireCount = 6;
    /// <summary>
    /// 手枪射击速度
    /// </summary>
    public const float PistoAtkSpeed = 0.3f;

    /// <summary>
    /// 手枪单次发射的子弹数量
    /// </summary>
    public const int PistoFireBulletIndex = 1;

    /// <summary>
    /// 手枪子弹大小
    /// </summary>
    public const float PisotBulletScale = 0.18f;

    /// <summary>
    /// 手枪换弹速度
    /// </summary>
    public const float PisotRemoveSpeed = 1.3f;
    #endregion

    #region 霰弹枪属性

    /// <summary>
    /// 霰弹枪子弹飞行速度
    /// </summary>
    public const float ShotGunBulletSpeed = 20;

    /// <summary>
    /// 霰弹枪武器射击速度
    /// </summary>
    public const float ShotGunAtkSpeed = 0.3f;

    /// <summary>
    /// 霰弹枪发射子弹数量
    /// </summary>
    public const int ShotGunBulletConut = 2;

    /// <summary>
    /// 霰弹枪伤害
    /// </summary>
    public const float ShotGunBulletDamage = 13f;

    /// <summary>
    /// 霰弹枪可发射的弹药数量
    /// </summary>
    public const int ShotGunCanFireCount = 2;

    /// <summary>
    /// 霰弹枪单词发射的子弹数量
    /// </summary>
    public const int ShotCanFireBulletIndex = 2;

    /// <summary>
    /// 霰弹枪子弹大小
    /// </summary>
    public const float ShotBulletScale = 0.18f;

    /// <summary>
    /// 霰弹枪换弹速度
    /// </summary>
    public const float ShotRemoveSpeed = 1.5f;
    #endregion

    #region MP5冲锋枪数据

    /// <summary>
    /// MP5子弹伤害
    /// </summary>
    public const float MpFiveBulletDamage = 7;

    /// <summary>
    /// MP5子弹可射击数量
    /// </summary>
    public const int MpFiveCanFireCount = 30;

    /// <summary>
    /// MP5子弹移动速度
    /// </summary>
    public const float MpFiveBulletSpeed = 18f;

    /// <summary>
    /// MP5的弹夹容量
    /// </summary>
    public const int MpFiveGunBulletCount = 30;

    /// <summary>
    /// MP5子弹大小
    /// </summary>
    public const float MpFiveBulletScale = 0.18f;

    /// <summary>
    /// MP5单次可射击的子弹数量
    /// </summary>
    public const int MpFiveCanFireBulletIndex = 1;

    /// <summary>
    /// MP5射速
    /// </summary>
    public const float MpFiveAtkSpeed = 0.1f;

    /// <summary>
    /// MP5换弹速度
    /// </summary>
    public const float MpFiveRemoveSpeed = 1.5f;
    #endregion

    #region AK步枪数据

    /// <summary>
    /// AK子弹伤害
    /// </summary>
    public const float AKBulletDamage = 8;

    /// <summary>
    /// AK子弹可射击数量
    /// </summary>
    public const int AKCanFireCount = 35;

    /// <summary>
    /// AK子弹移动速度
    /// </summary>
    public const float AKBulletSpeed = 20f;

    /// <summary>
    /// AK的弹夹容量
    /// </summary>
    public const int AKGunBulletCount = 35;

    /// <summary>
    /// AK子弹大小
    /// </summary>
    public const float AKBulletScale = 0.18f;

    /// <summary>
    /// AK单次可射击的子弹数量
    /// </summary>
    public const int AKCanFireBulletIndex = 1;

    /// <summary>
    /// AK射速
    /// </summary>
    public const float AKAtkSpeed = 0.2f;

    /// <summary>
    /// AK换弹速度
    /// </summary>
    public const float AKRemoveSpeed = 1.45f;

    #endregion

    #region 榴弹枪数据
    /// <summary>
    /// 榴弹枪伤害
    /// </summary>
    public const float GrenadeBulletDamage = 30;

    /// <summary>
    /// 榴弹枪子弹移动速度
    /// </summary>
    public const float GrenadeBulletSpeed = 20;

    /// <summary>
    /// 榴弹枪换弹速度
    /// </summary>
    public const float GrenadeRemoveSpeed = 0.5f;

    /// <summary>
    /// 榴弹枪单次可射击子弹数量
    /// </summary>
    public const int GrenadeCanFireBulletIndex = 1;

    /// <summary>
    /// 榴弹枪的弹容量
    /// </summary>
    public const int GrenadeBulletCount = 5;

    /// <summary>
    /// 榴弹枪可射击子弹数量
    /// </summary>
    public const int GrenadeCanFireCount = 5;

    /// <summary>
    /// 榴弹枪子弹大小
    /// </summary>
    public const float GrenadeBulletScale = 0.18f;

    #endregion

    #region 暴击概率和额外伤害倍率
    /// <summary>
    /// 暴击概率
    /// </summary>
    public const float InitCriticalRate = 0.05f;

    /// <summary>
    /// 额外伤害倍率
    /// </summary>
    public const float DamageRate = 1f;
    #endregion

    #region 游戏内数据
    /// <summary>
    /// 游玩时间
    /// </summary>
    public const float GameTime = 0;
    /// <summary>
    /// 敌人击杀计数器
    /// </summary>
    public const int KillEnemyCount = 0;
    /// <summary>
    /// 击杀与生存时间累计点数
    /// </summary>
    public const int KillEnemyPoints = 0;



    #endregion

    #region 武器和能力通用数据
    /// <summary>
    /// 额外的子弹体积
    /// </summary>
    public const float BulletScale = 1f;

    /// <summary>
    /// 子弹额外射速
    /// </summary>
    public const float BulletSpeeds = 1f;

    /// <summary>
    /// 额外可发射的子弹数量
    /// </summary>
    public const int BulletsCount = 0;

    /// <summary>
    /// 默认可视范围
    /// </summary>
    public const float VisibleRange = 5f;

    /// <summary>
    /// 额外可贯穿的个体数量
    /// </summary>
    public const int CanPenetrationIndex = 0;

    /// <summary>
    /// 额外角色生命值
    /// </summary>
    public const int AbilityPlayerMaxHp = 0;

    /// <summary>
    /// 额外的移动速度倍率
    /// </summary>
    public const float AbilityPlayerMoveSpeed = 1;

    /// <summary>
    /// 额外的子弹伤害倍率
    /// </summary>
    public const float AbilityBulletDamage = 1f;

    /// <summary>
    /// 击杀计数器
    /// </summary>
    public const int SkillEnemyNumbers = 0;
    #endregion
}
